package com.ruoyi.system.mapper;

import java.util.List;
import com.ruoyi.system.domain.ClaTimeAttend;
import com.ruoyi.system.domain.ScClaTimeAttend;
import com.ruoyi.system.domain.StudentTime;
import com.ruoyi.system.domain.UpdateAttend;

/**
 * 上课出勤Mapper接口
 * 
 * @author ZHANGQIBO
 * @date 2024-01-21
 */
public interface ClaTimeAttendMapper 
{
    /**
     * 查询上课出勤
     * 
     * @param attendId 上课出勤主键
     * @return 上课出勤
     */
    public ClaTimeAttend selectClaTimeAttendByAttendId(Long attendId);

    /**
     * 查询所有请假学生上课出勤
     *
     * @param course_time_id 上课出勤主键
     * @return 上课出勤
     */
    public List<UpdateAttend> selectClaTimeAttendByLeave(Long course_time_id);

    /**
     * 查询所有请假学生上课出勤
     *
     * @param course_time_id 上课出勤主键
     * @return 上课出勤
     */
    public List<UpdateAttend> selectClaTimeAttendByTotal(Long course_time_id);


    /**
     * 查询上课出勤列表
     * 
     * @param claTimeAttend 上课出勤
     * @return 上课出勤集合
     */
    public List<StudentTime> selectClaTimeAttendList(ClaTimeAttend claTimeAttend);
    /**
     * 查询上课出勤列表
     *
     * @param claTimeAttend 上课出勤
     * @return 上课出勤集合
     */
    public List<StudentTime> selectClaTimeAttendListAPP(ClaTimeAttend claTimeAttend);

    /**
     * 查询上课出勤
     *
     * @param claTimeAttend 上课出勤
     * @return 上课出勤集合
     */
    public ClaTimeAttend selectClaTimeAttendItem(ClaTimeAttend claTimeAttend);

    /**
     * 新增上课出勤
     * 
     * @param claTimeAttend 上课出勤
     * @return 结果
     */
    public int insertClaTimeAttend(ClaTimeAttend claTimeAttend);

    /**
     * 新增上课出勤
     *
     * @param claTimeAttend 上课出勤
     * @return 结果
     */
    public int insertScClaTimeAttendAttend(ScClaTimeAttend claTimeAttend);


    /**
     * 修改上课出勤
     * 
     * @param claTimeAttend 上课出勤
     * @return 结果
     */
    public int updateClaTimeAttend(ClaTimeAttend claTimeAttend);

    /**
     * 修改上课出勤
     *
     * @param claTimeAttend 上课出勤
     * @return 结果
     */
    public int updateUpdateAttend(ClaTimeAttend claTimeAttend);





    /**
     * 删除上课出勤
     * 
     * @param attendId 上课出勤主键
     * @return 结果
     */
    public int deleteClaTimeAttendByAttendId(Long attendId);

    /**
     * 批量删除上课出勤
     * 
     * @param attendIds 需要删除的数据主键集合
     * @return 结果
     */
    public int deleteClaTimeAttendByAttendIds(Long[] attendIds);
}
